package com.linkdood.app.service;

import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.Logger;
import ch.qos.logback.classic.LoggerContext;
import com.linkdood.app.constants.ErrorCode;
import com.linkdood.app.exception.GeneralException;
import com.linkdood.app.utils.FileUtil;
import com.linkdood.app.vm.LoggerVm;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.InputStreamResource;
import org.springframework.core.io.Resource;
import org.springframework.stereotype.Service;

import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.ZipFile;

/**
 * 日志
 * @author YunJ
 */
public interface LoggerService {
    /**
     * 获取日志等级
     */
    List<LoggerVm> listLogLevel();

    void updateLogLevel(LoggerVm jsonLogger);

    /**
     * 获取所有生成的日志
     */
    List<String> listLogFiles();

    /**
     * 获取文件资源
     */
    Resource getResource(String name);

    /**
     * 打包下载所有日志文件
     */
    Resource downloadAllLog();

    /**
     * 获取文件内容
     *
     * @param size 获取内容大小
     */
    String getLogContent(int size);
}
